package livros;

public class RepositorioLivrosLista implements RepositorioLivros{
	private Livro livro;
	private RepositorioLivrosLista proximo;

	public RepositorioLivrosLista(){
		this.livro = null;
		this.proximo = null;
	}
	
	public void inserir (Livro livro){
		if (this.livro != null){
			proximo.inserir(livro);
		}
		else{
			this.livro = livro;
			this.proximo = new RepositorioLivrosLista();
		}
	}
	
	public void atualizar (Livro livro) {
		String isbn;
		isbn = livro.getIsbn();
		if (this.livro != null){
			if ( this.livro.getIsbn().equals(isbn) ){
				this.livro = livro;
			}
			else{
				proximo.atualizar(livro);
			}
		}	
		else{
				System.out.println("Livro Nao Encontrado !!!");
		}
	}
	
	public void remover (String isbn) {
		if (this.livro != null){
			if (this.livro.getIsbn().equals(isbn)){
				this.livro = proximo.livro;
				this.proximo = proximo.proximo;
			}
			else{
				proximo.remover(isbn);
			}
		}
		else{
			System.out.println("Livro Nao Encontrado !!!");
		}
	}
	
	public Livro procurar (String isbn) {
		Livro resposta;
		if (this.livro != null){
			if (this.livro.getIsbn().equals(isbn)){
				resposta = this.livro;
			}
			else{
				resposta = proximo.procurar(isbn);
			}
		}
		else{
			resposta = null;
		}
		if(resposta == null){
			System.out.println("Livro Nao Encontrado !!!");
			return null;
		}else
		    return resposta;
	}
	
	public boolean existe (String isbn){
		boolean resposta;
		if (this.livro != null){
			if (this.livro.getIsbn().equals(isbn)){
				resposta = true;
			}
			else{
				resposta = proximo.existe(isbn);
			}
		}
		else{
			resposta = false;
		}
		return resposta;
	}
	
}
